<?php

require_once ("proceso_comercial_pages.php");

/*
 *	Forms
 *
 */
 
function paso_alta_form ($form, &$form_state)
{
	$form['paso'] = array(
		'#type' => 'fieldset',
		'#title' => t('Paso'),
		'#description' => t('Ingresa los datos del <em>Paso</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['paso']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del Paso'),
		'#required' => TRUE,
		'#size' => 30,
		'#maxlength' => 30,
	);
	
	$form['paso']['descripcion'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripci&oacute;n'),
		'#description' => t('Breve leyenda que se mostrar&aacute; debajo del nombre del <em>Paso</em>.'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 50
	);
	
	$form['paso']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o maximo del archivo es de 500KB.<br/>Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40
	);
	
	$form['paso']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['paso']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si el paso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'alta')
	);
	
	return $form;
}

function paso_alta_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files)) {
		form_set_error('imagen', t('Debe seleccionar una Imagen.'));
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
			
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function paso_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('paso', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcdescripcion'	=> $form_state['values']['descripcion'],
				'fcimagen'		=> $form_state['values']['imagen']->filename,
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid));
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; el <em>Paso</em> correctamente.'), 'status');
	}
}

function actividad_alta_form ($form, &$form_state)
{
	$form['actividad'] = array(
		'#type' => 'fieldset',
		'#title' => t('Actividad'),
		'#description' => t('Ingresa los datos de la <em>Actividad</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['actividad']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece la <em>Actividad</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('paso', 'fcnombre')
	);
	
	$form['actividad']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Actividad</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['actividad']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['actividad']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function actividad_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('actividad', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidpaso'		=> $form_state['values']['paso'],
				'fiidusuario'	=> $user->uid));
				
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['paso']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la Actividad correctamente.'), 'status');
	}
}

function herramienta_alta_form ($form, &$form_state) 
{
	$pasos = SQL::_get_all('paso', 'fcnombre');
	$paso = isset($form_state['values']['paso']) ? $form_state['values']['paso'] : key($pasos);
	
	$form['herramienta'] = array(
		'#type' => 'fieldset',
		'#title' => t('Herramienta'),
		'#description' => t('Ingresa los datos del <em>Herramienta</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['herramienta']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece la <em>Herramienta</em>.'),
		'#options' => $pasos,
		'#default_value' => $paso,
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'herramienta_actividades_callback',
            'wrapper' => 'actividades_div',
        ),
	);
	
	$form['herramienta']['actividad'] = array(
		'#type' => 'select',
		'#title' => t('Actividad'),
		'#description' => t('Actividad al que pertenece la <em>Herramienta</em>.'),
		'#required' => TRUE,
		'#prefix' => '<div id="actividades_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('actividad', 'fcnombre', 'fiidpaso', $paso), 
		'#default_value' => isset($form_state['values']['actividad']) ? $form_state['values']['actividad'] : ''
	);
	
	$form['herramienta']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Herramienta</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['herramienta']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['herramienta']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function herramienta_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('herramienta', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidactividad'	=> $form_state['values']['actividad'],
				'fiidusuario'	=> $user->uid));
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['actividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $form_state['values']['actividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la contenido correctamente.'), 'status');
	}
}

function contenido_alta_form ($form, &$form_state) 
{
	$pasos = SQL::_get_all('paso', 'fcnombre');
	$paso = isset($form_state['values']['paso']) ? $form_state['values']['paso'] : key($pasos);
	
	$actividades = SQL::_get_all('actividad', 'fcnombre');
	$actividad = isset($form_state['values']['actividad']) ? $form_state['values']['actividad'] : key($actividades);
	
	$form['contenido'] = array(
		'#type' => 'fieldset',
		'#title' => t('Contenido'),
		'#description' => t('Ingresa los datos del <em>Contenido</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['contenido']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece el <em>Contenido</em>.'),
		'#options' => $pasos,
		'#default_value' => $paso,
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'contenido_actividades_callback',
            'wrapper' => 'actividades_div',
        ),
	);
	
	$form['contenido']['actividad'] = array(
		'#type' => 'select',
		'#title' => t('Actividad'),
		'#description' => t('Actividad al que pertenece el <em>Contenido</em>.'),
		'#prefix' => '<div id="actividades_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('actividad', 'fcnombre', 'fiidpaso', $paso), 
		'#default_value' => isset($form_state['values']['actividad']) ? $form_state['values']['actividad'] : '',
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'contenido_herramientas_callback',
            'wrapper' => 'herramientas_div',
        ),
	);
	
	$form['contenido']['herramienta'] = array(
		'#type' => 'select',
		'#title' => t('Herramienta'),
		'#description' => t('Herramienta al que pertenece el <em>Contenido</em>.'),
		'#required' => TRUE,
		'#prefix' => '<div id="herramientas_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('herramienta', 'fcnombre', 'fiidactividad', $actividad), 
		'#default_value' => isset($form_state['values']['herramienta']) ? $form_state['values']['herramienta'] : ''
	);
	
	$form['contenido']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del <em>Contenido</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['contenido']['contenido'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona un contenido'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo del contenido es de 100MB.<br/>') . 
							t('Archivos permitidos: <em>.jpg .jpeg .gif .png .txt .doc .xls .pdf .ppt .pps .odt .ods .odp .docx .xlsx .pptx .ppsx .mp3 .mp4 .mov</em>.'),
		'#size' => 40
	);
	
	$form['contenido']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['contenido']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function contenido_alta_form_validate ($form, &$form_state)
{
	
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files)) {
		form_set_error('contenido', t('Debe seleccionar un Contenido.'));
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp docx xlsx pptx ppsx mp3 mp4 mov'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://', FILE_EXISTS_RENAME)) {
				$form_state['values']['contenido'] = drupal_basename($file->uri);
			} else {
				form_set_error('contenido', t('Error al subir el contenido al servidor.'));
			}
			
		} else {
			form_set_error('contenido', t('Error: No se subio el contenido.'));
		}
	}
	
}

function contenido_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('contenido', array(
				'fcruta' 			=> $form_state['values']['contenido'], 
				'fcnombre'	 		=> $form_state['values']['nombre'],
				'fiposicion' 		=> $form_state['values']['posicion'],
				'fiestado' 			=> $form_state['values']['estado'],
				'fiidherramienta'	=> $form_state['values']['herramienta'],
				'fiidusuario'		=> $user->uid));
				
	$idr = SQL::_update('herramienta', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['herramienta']);
	$actividad = SQL::_get_when(array('fiidactividad'), 'herramienta', 'fiidherramienta', $form_state['values']['herramienta']);
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$actividad['fiidactividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $actividad['fiidactividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);	
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; el contenido correctamente.'), 'status');
	}
}

function categoria_alta_form ($form, &$form_state) 
{
	$form['categoria'] = array(
		'#type' => 'fieldset',
		'#title' => t('Categoria'),
		'#description' => t('Ingresa los datos de la <em>Categoria</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['categoria']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Categoria</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['categoria']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['categoria']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function categoria_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('categoria', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid));
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la <em>Categoria</em> correctamente.'), 'status');
	}
}

function entrada_alta_form ($form, &$form_state) 
{
	$form['entrada'] = array(
		'#type' => 'fieldset',
		'#title' => t('Mensaje'),
		'#description' => t('Ingresa los datos del <em>Mensaje</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['entrada']['categoria'] = array(
		'#type' => 'select',
		'#title' => t('categoria'),
		'#description' => t('Categoria al que pertenece el <em>Mensaje</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('categoria', 'fcnombre')
	);
	
	$form['entrada']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del <em>Mensaje</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['entrada']['descripcion'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripci&oacute;n'),
		'#description' => t('Breve descripcion que se mostrar&aacute; debajo del nombre del <em>Mensaje</em>.'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['entrada']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo de la imagen es de 3MB.<br/>') . 
							t('Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40
	);
	
	$form['entrada']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['entrada']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el mensaje esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function entrada_alta_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files)) {
		form_set_error('imagen', t('Debe seleccionar una Imagen.'));
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file->filename;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function entrada_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('mensaje', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcdescripcion'	=> $form_state['values']['descripcion'],
				'fcimagen'		=> $form_state['values']['imagen'],
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidcategoria'	=> $form_state['values']['categoria'],
				'fiidusuario'	=> $user->uid));
				
	$idr = SQL::_update('categoria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['categoria']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; el <em>Mensaje</em> correctamente.'), 'status');
	}
}

function galeria_alta_form ($form, &$form_state) 
{
	$form['galeria'] = array(
		'#type' => 'fieldset',
		'#title' => t('Galeria'),
		'#description' => t('Ingresa los datos de la <em>Galeria</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['galeria']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Galeria</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['galeria']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3
	);
	
	$form['galeria']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si la galeria esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function galeria_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('galeria', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid));
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la <em>Galeria</em> correctamente.'), 'status');
	}
}

function imagen_alta_form ($form, &$form_state) 
{
	$form['imagen'] = array(
		'#type' => 'fieldset',
		'#title' => t('Imagen'),
		'#description' => t('Ingresa los datos de la <em>Imagen</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['imagen']['galeria'] = array(
		'#type' => 'select',
		'#title' => t('Galeria'),
		'#description' => t('Galeria a la que pertenece la <em>Imagen</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('galeria', 'fcnombre')
	);
	
	$form['imagen']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripcion'),
		'#description' => t('Descripci&oacute;n de la <em>Imagen</em>'),
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['imagen']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo de la imagen es de 10MB.<br/>') . 
							t('Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40
	);
	
	$form['imagen']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si la Imagen esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function imagen_alta_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files)) {
		form_set_error('imagen', t('Debe seleccionar una Imagen.'));
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file->filename;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function imagen_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('imagen', array(
				'fcnombre'		=> $form_state['values']['nombre'],
				'fcimagen'		=> $form_state['values']['imagen'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidgaleria'	=> $form_state['values']['galeria'],
				'fiidusuario'	=> $user->uid));
				
	$idr = SQL::_update('galeria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['galeria']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la <em>Imagen</em> correctamente.'), 'status');
	}
}

function usuario_alta_form ($form, &$form_state)
{
	$form['usuario'] = array(
		'#type' => 'fieldset',
		'#title' => t('Usuario'),
		'#description' => t('Ingresa los datos del <em>Usuario</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['usuario']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre completo del <em>Usuario</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['usuario']['email'] = array(
		'#type' => 'textfield',
		'#title' => t('Email'),
		'#description' => t('Email del usuario.'),
		'#required' => TRUE,
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['usuario']['usuario'] = array(
		'#type' => 'textfield',
		'#title' => t('Usuario'),
		'#description' => t('Nombre de usuario con el que se logueara en la App.<br/><em>Debe ser &uacute;nico.</em>'),
		'#required' => TRUE,
		'#size' => 50,
		'#maxlength' => 16
	);

	$form['usuario']['mac'] = array(
		'#type' => 'textfield',
		'#title' => t('Identificador PC (CPU ID)'),
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['usuario']['device'] = array(
		'#type' => 'textfield',
		'#title' => t('Idenfiticador iPad (UUID)'),
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function usuario_alta_form_validate ($form, &$form_state)
{
	$object = SQL::_get_when(array('fcusuario'), 'usersavi', 'fcusuario', $form_state['values']['usuario']);
	if(!empty($object))
		form_set_error('usuario', t('Ya existe un usuario con ese Nombre de Usuario.'));
}

function usuario_alta_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_insert('usersavi', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcemail' 		=> $form_state['values']['email'],
				'fcusuario' 	=> $form_state['values']['usuario'],
				'fcmac' 		=> $form_state['values']['mac'],
				'fciddevice' 	=> $form_state['values']['device'],
				'fiidusuario'	=> $user->uid));
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; el Usuario correctamente.'), 'status');
	}
}


function edita_item ($item = '', $number = 0)
{
	Util::_clear_error();
	
	if($number <= 0)
		return drupal_not_found();
	
	switch($item)
	{
		case 'entrada':
			$item = 'mensaje';
		case 'paso':
		case 'actividad':
		case 'herramienta':
		case 'contenido':
		case 'categoria':
		case 'galeria':
		case 'imagen':
		case 'usuario':
			$object = SQL::_get($item, $number);
			if(empty($object))
				return drupal_not_found();
			variable_set($item, $object);
			break;
		default:
			return drupal_not_found();
	}
	
	switch($item)
	{
		case 'paso':
			return drupal_get_form('paso_edita_form');
		case 'actividad':
			return drupal_get_form('actividad_edita_form');
		case 'herramienta':
			return drupal_get_form('herramienta_edita_form');
		case 'contenido':
			return drupal_get_form('contenido_edita_form');
		case 'categoria':
			return drupal_get_form('categoria_edita_form');
		case 'mensaje':
			return drupal_get_form('entrada_edita_form');
		case 'galeria':
			return drupal_get_form('galeria_edita_form');
		case 'imagen':
			return drupal_get_form('imagen_edita_form');
		default:
			return drupal_not_found();
	}

}

function edita_usuario ($number = 0)
{
	Util::_clear_error();
	
	if($number <= 0)
		return drupal_not_found();
	
	$object = SQL::_get('usersavi', $number);
	if(empty($object))
		return drupal_not_found();
	variable_set('user', $object);
	
	return drupal_get_form('usuario_edita_form');
}

function paso_edita_form ($form, &$form_state)
{

	$paso = variable_get('paso');
	
	variable_set('paso', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#title' => t('Paso'),
		'#description' => t('Ingresa los datos del <em>Paso</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidpaso']
	);
	
	$form['paso']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del Paso'),
		'#required' => TRUE,
		'#size' => 30,
		'#maxlength' => 30,
		'#default_value' => $paso['fcnombre']
	);
	
	$form['paso']['descripcion'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripci&oacute;n'),
		'#description' => t('Breve leyenda que se mostrar&aacute; debajo del nombre del <em>Paso</em>.'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 50,
		'#default_value' => $paso['fcdescripcion']
	);
	
	$form['paso']['display'] = array(
		'#type' => 'item',
		'#markup' => theme('image', array('path' => 'public://' . $paso['fcimagen'], 'alt' => $paso['fcimagen'], 'width' => '100px'))
	);
	
	$form['paso']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o maximo del archivo es de 500KB.<br/>Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40,
		'#default_value' => $paso['fcimagen']
	);
	
	$form['paso']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $paso['fiposicion']
	);
	
	$form['paso']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si el paso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => $paso['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'alta')
	);
	
	return $form;
}

function paso_edita_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files) || $_FILES['files']['name'][0] == '') {
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file->filename;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function paso_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('paso', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcdescripcion'	=> $form_state['values']['descripcion'],
				'fcimagen'		=> $form_state['values']['imagen'],
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid
				),
				$form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; el <em>Paso</em> correctamente.'), 'status');
	}
	
}

function actividad_edita_form ($form, &$form_state)
{
	$paso = variable_get('actividad');
	
	variable_set('actividad', 0);
	
	$form['actividad'] = array(
		'#type' => 'fieldset',
		'#title' => t('Actividad'),
		'#description' => t('Ingresa los datos de la <em>Actividad</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['actividad']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidactividad']
	);
	
	$form['actividad']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece la <em>Actividad</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('paso', 'fcnombre'),
		'#default_value' => $paso['fiidpaso']
	);
	
	$form['actividad']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Actividad</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $paso['fcnombre']
	);
	
	$form['actividad']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $paso['fiposicion']
	);
	
	$form['actividad']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1,
		'#default_value' => $paso['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function actividad_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('actividad', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidpaso'		=> $form_state['values']['paso'],
				'fiidusuario'	=> $user->uid),
				$form_state['values']['id']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['paso']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; la Actividad correctamente.'), 'status');
	}
}

function herramienta_edita_form ($form, &$form_state) 
{
	$herramienta = variable_get('herramienta');
	
	variable_set('herramienta', 0);
	
	$hpaso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $herramienta['fiidactividad']);
	
	$pasos = SQL::_get_all('paso', 'fcnombre');
	$paso = $hpaso['fiidpaso'];
	
	$form['herramienta'] = array(
		'#type' => 'fieldset',
		'#title' => t('Herramienta'),
		'#description' => t('Ingresa los datos del <em>Herramienta</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['herramienta']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $herramienta['fiidherramienta']
	);
	
	$form['herramienta']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece la <em>Herramienta</em>.'),
		'#options' => $pasos,
		'#default_value' => $paso,
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'herramienta_actividades_callback',
            'wrapper' => 'actividades_div',
        ),
	);
	
	$form['herramienta']['actividad'] = array(
		'#type' => 'select',
		'#title' => t('Actividad'),
		'#description' => t('Actividad al que pertenece la <em>Herramienta</em>.'),
		'#required' => TRUE,
		'#prefix' => '<div id="actividades_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('actividad', 'fcnombre', 'fiidpaso', $paso), 
		'#default_value' => $herramienta['fiidactividad']
	);
	
	$form['herramienta']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Herramienta</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $herramienta['fcnombre']
	);
	
	$form['herramienta']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $herramienta['fiposicion']
	);
	
	$form['herramienta']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1,
		'#default_value' => $herramienta['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function herramienta_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('herramienta', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidactividad'	=> $form_state['values']['actividad'],
				'fiidusuario'	=> $user->uid),
				$form_state['values']['id']);
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['actividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $form_state['values']['actividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);
		
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se cre&oacute; la contenido correctamente.'), 'status');
	}
}

function contenido_edita_form ($form, &$form_state) 
{
	$contenido = variable_get('contenido');
	
	variable_set('contenido', 0);
	
	$cactividad = SQL::_get_when(array('fiidactividad'), 'herramienta', 'fiidherramienta', $contenido['fiidherramienta']);
	
	$cpaso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $cactividad['fiidactividad']);
	
	$pasos = SQL::_get_all('paso', 'fcnombre');
	$paso = $cpaso['fiidpaso'];
	
	$actividades = SQL::_get_all('actividad', 'fcnombre');
	$actividad = $cactividad['fiidactividad'];
	
	$form['contenido'] = array(
		'#type' => 'fieldset',
		'#title' => t('Contenido'),
		'#description' => t('Ingresa los datos del <em>Contenido</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);

	$form['contenido']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $contenido['fiidcontenido']
	);
	
	$form['contenido']['paso'] = array(
		'#type' => 'select',
		'#title' => t('Paso'),
		'#description' => t('Paso al que pertenece el <em>Contenido</em>.'),
		'#options' => $pasos,
		'#default_value' => $paso,
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'contenido_actividades_callback',
            'wrapper' => 'actividades_div',
        ),
	);
	
	$form['contenido']['actividad'] = array(
		'#type' => 'select',
		'#title' => t('Actividad'),
		'#description' => t('Actividad al que pertenece el <em>Contenido</em>.'),
		'#prefix' => '<div id="actividades_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('actividad', 'fcnombre', 'fiidpaso', $paso), 
		'#default_value' => $actividad,
		'#ajax' => array(
            'event' => 'change',
            'callback' => 'contenido_herramientas_callback',
            'wrapper' => 'herramientas_div',
        ),
	);
	
	$form['contenido']['herramienta'] = array(
		'#type' => 'select',
		'#title' => t('Herramienta'),
		'#description' => t('Herramienta al que pertenece el <em>Contenido</em>.'),
		'#required' => TRUE,
		'#prefix' => '<div id="herramientas_div">',
        '#suffix' => '</div>',
		'#options' => SQL::_get_all_when('herramienta', 'fcnombre', 'fiidactividad', $actividad), 
		'#default_value' => $contenido['fiidherramienta']
	);
	
	$form['contenido']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del <em>Contenido</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $contenido['fcnombre']
	);
	
	$form['contenido']['display'] = array(
		'#type' => 'item',
		'#title' => t('Contenido'),
		'#markup' => $contenido['fcruta']
	);
	
	$form['contenido']['contenido'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona un contenido'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo del contenido es de 100MB.<br/>') . 
							t('Archivos permitidos: <em>.jpg .jpeg .gif .png .txt .doc .xls .pdf .ppt .pps .odt .ods .odp .docx .xlsx .pptx .ppsx .mp3 .mp4 .mov</em>.'),
		'#size' => 40,
		'#default_value' => $contenido['fcruta']
	);
	
	$form['contenido']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $contenido['fiposicion']
	);
	
	$form['contenido']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si el proceso esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1,
		'#default_value' => $contenido['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function contenido_edita_form_validate ($form, &$form_state)
{
	
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files) || $_FILES['files']['name'][0] == '') {
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png txt doc xls pdf ppt pps odt ods odp docx xlsx pptx ppsx mp3 mp4 mov'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['contenido'] = $file->filename;
			} else {
				form_set_error('contenido', t('Error al subir el contenido al servidor.'));
			}
			
		} else {
			form_set_error('contenido', t('Error: No se subio el contenido.'));
		}
	}
	
}

function contenido_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('contenido', array(
				'fcnombre' 			=> $form_state['values']['nombre'],
				'fcruta' 			=> $form_state['values']['contenido'],
				'fiposicion' 		=> $form_state['values']['posicion'],
				'fiestado' 			=> $form_state['values']['estado'],
				'fiidherramienta'	=> $form_state['values']['herramienta'],
				'fiidusuario'		=> $user->uid),
				$form_state['values']['id']);
				
	$idr = SQL::_update('herramienta', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['herramienta']);
	$actividad = SQL::_get_when(array('fiidactividad'), 'herramienta', 'fiidherramienta', $form_state['values']['herramienta']);
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$actividad['fiidactividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $actividad['fiidactividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);	
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; el contenido correctamente.'), 'status');
	}
}

function categoria_edita_form ($form, &$form_state) 
{
	$paso = variable_get('categoria');
	
	variable_set('categoria', 0);
	
	$form['categoria'] = array(
		'#type' => 'fieldset',
		'#title' => t('Categoria'),
		'#description' => t('Ingresa los datos de la <em>Categoria</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['categoria']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidcategoria']
	);
	
	$form['categoria']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Categoria</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $paso['fcnombre']
	);
	
	$form['categoria']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $paso['fiposicion']
	);
	
	$form['categoria']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si la categoria esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1,
		'#default_value' => $paso['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function categoria_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('categoria', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid),
				$form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; la categoria correctamente.'), 'status');
	}
}

function entrada_edita_form ($form, &$form_state)
{

	$mensaje = variable_get('mensaje');
	
	variable_set('mensaje', 0);

	$form['mensaje'] = array(
		'#type' => 'fieldset',
		'#title' => t('Mensaje'),
		'#description' => t('Ingresa los datos del <em>Mensaje</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['mensaje']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $mensaje['fiidmensaje']
	);
	
	$form['mensaje']['categoria'] = array(
		'#type' => 'select',
		'#title' => t('categoria'),
		'#description' => t('Categoria al que pertenece el <em>Mensaje</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('categoria', 'fcnombre'),
		'#default_value' => $mensaje['fiidcategoria']
	);
	
	$form['mensaje']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre del Mensaje'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 200,
		'#default_value' => $mensaje['fcnombre']
	);
	
	$form['mensaje']['descripcion'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripci&oacute;n'),
		'#description' => t('Breve descripcion que se mostrar&aacute; debajo del nombre del <em>Mensaje</em>.'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 70,
		'#default_value' => $mensaje['fcdescripcion']
	);
	
	$form['mensaje']['display'] = array(
		'#type' => 'item',
		'#markup' => theme('image', array('path' => 'public://' . $mensaje['fcimagen'], 'alt' => $mensaje['fcimagen'], 'width' => '100px'))
	);
	
	$form['mensaje']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo de la imagen es de 3MB.<br/>') . 
							t('Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40,
		'#default_value' => $mensaje['fcimagen']
	);
	
	$form['mensaje']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $mensaje['fiposicion']
	);
	
	$form['mensaje']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si el mensaje esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => $mensaje['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'alta')
	);
	
	return $form;
}

function entrada_edita_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files) || $_FILES['files']['name'][0] == '') {
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file->filename;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function entrada_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('mensaje', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcdescripcion'	=> $form_state['values']['descripcion'],
				'fcimagen'		=> $form_state['values']['imagen'],
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidcategoria'	=> $form_state['values']['categoria'],
				'fiidusuario'	=> $user->uid
				),
				$form_state['values']['id']);
				
	$idr = SQL::_update('categoria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['categoria']);
							
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; el <em>Mensaje</em> correctamente.'), 'status');
	}
	
}

function galeria_edita_form ($form, &$form_state) 
{
	$paso = variable_get('galeria');
	
	variable_set('galeria', 0);
	
	$form['galeria'] = array(
		'#type' => 'fieldset',
		'#title' => t('Galeria'),
		'#description' => t('Ingresa los datos de la <em>Galeria</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['galeria']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidgaleria']
	);
	
	$form['galeria']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre de la <em>Galeria</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $paso['fcnombre']
	);
	
	$form['galeria']['posicion'] = array(
		'#type' => 'textfield',
		'#title' => t('Posici&oacute;n'),
		'#description' => t('Posici&oacute;n dentro del Men&uacute; ordenado.'),
		'#required' => TRUE,
		'#size' => 5,
		'#maxlength' => 3,
		'#default_value' => $paso['fiposicion']
	);
	
	$form['galeria']['estado'] = array(
		'#type' => 'radios',
		'#title' => t('Estado'),
		'#description' => t('Si la Galeria esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => 1,
		'#default_value' => $paso['fiestado']
	);
	
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function galeria_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('galeria', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fiposicion' 	=> $form_state['values']['posicion'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidusuario'	=> $user->uid),
				$form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; la Galeria correctamente.'), 'status');
	}
}

function imagen_edita_form ($form, &$form_state)
{

	$imagen = variable_get('imagen');
	
	variable_set('imagen', 0);

	$form['imagen'] = array(
		'#type' => 'fieldset',
		'#title' => t('Imagen'),
		'#description' => t('Ingresa los datos de la <em>Imagen</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['imagen']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $imagen['fiidimagen']
	);
	
	$form['imagen']['galeria'] = array(
		'#type' => 'select',
		'#title' => t('Galeria'),
		'#description' => t('Galeria al que pertenece la <em>Imagen</em>.'),
		'#required' => TRUE,
		'#options' => SQL::_get_all('galeria', 'fcnombre'),
		'#default_value' => $imagen['fiidgaleria']
	);
	
	$form['imagen']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Descripcion'),
		'#description' => t('Descripci&oacute;n de la <em>Imagen</em>'),
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $imagen['fcnombre']
	);
	
	$form['imagen']['display'] = array(
		'#type' => 'item',
		'#markup' => theme('image', array('path' => 'public://' . $imagen['fcimagen'], 'alt' => $imagen['fcimagen'], 'width' => '100px'))
	);
	
	$form['imagen']['imagen'] = array(
		'#type' => 'file',
		'#name' => 'files[]',
		'#title' => t('Selecciona una imagen'),
		'#description' => t('El tama&ntilde;o m&aacute;ximo de la imagen es de 10MB.<br/>') . 
							t('Imagenes: <em>.jpg .jpeg .gif .png</em>.'),
		'#size' => 40,
		'#default_value' => $imagen['fcimagen']
	);
	
	$form['imagen']['estado'] = array(
		'#title' => t('Estado'),
		'#type' => 'radios',
		'#description' => t('Si la Imagen esta <b>Visible</b> se mostrar&aacute; en el Dispositivo M&oacute;vil.<br/>' . 
							'<em>No se mostrar&aacute; en caso contrario</em>.'),
		'#required' => TRUE,
		'#options' => array(0 => t('Oculto'), 1 => t('Visible')),
		'#default_value' => $imagen['fiestado']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'alta')
	);
	
	return $form;
}

function imagen_edita_form_validate ($form, &$form_state)
{
	$num_files = count($_FILES['files']['name']);
	
	if(empty($num_files) || $_FILES['files']['name'][0] == '') {
		return;
	}
	
	for ($i = 0; $i < $num_files; $i++) {
	
		$file = file_save_upload($i, array(
			'file_validate_extensions' => array('jpg jpeg gif png'),
			'file_validate_size' => array(104857600, 1073741824)
		), FALSE, FILE_EXISTS_REPLACE);
		
		if ($file) {
		
			$file->status = FILE_STATUS_PERMANENT;
		
			if ($file = file_move($file, 'public://')) {
				$form_state['values']['imagen'] = $file->filename;
			} else {
				form_set_error('imagen', t('Error al subir la imagen al servidor.'));
			}
			
		} else {
			form_set_error('imagen', t('Error: No se subio la imagen.'));
		}
	}
	
}

function imagen_edita_form_submit ($form, &$form_state)
{
	global $user;
	$id = SQL::_update('imagen', array(
				'fcnombre'		=> $form_state['values']['nombre'],
				'fcimagen'		=> $form_state['values']['imagen'],
				'fiestado' 		=> $form_state['values']['estado'],
				'fiidgaleria'	=> $form_state['values']['galeria'],
				'fiidusuario'	=> $user->uid
				),
				$form_state['values']['id']);
				
	$idr = SQL::_update('galeria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['galeria']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; la <em>Imagen</em> correctamente.'), 'status');
	}
	
}

function usuario_edita_form ($form, &$form_state)
{
	$imagen = variable_get('user');
	
	variable_set('user', 0);
	
	$form['usuario'] = array(
		'#type' => 'fieldset',
		'#title' => t('Usuario'),
		'#description' => t('Ingresa los datos del <em>Usuario</em>.<br> <b>Todos los campos son obligatorios</b>.')
	);
	
	$form['usuario']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $imagen['fiidusersavi']
	);
	
	$form['usuario']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#description' => t('Nombre completo del <em>Usuario</em>'),
		'#required' => TRUE,
		'#size' => 60,
		'#maxlength' => 150,
		'#default_value' => $imagen['fcnombre']
	);
	
	$form['usuario']['email'] = array(
		'#type' => 'textfield',
		'#title' => t('Email'),
		'#description' => t('Email del usuario.'),
		'#required' => TRUE,
		'#size' => 50,
		'#maxlength' => 250,
		'#default_value' => $imagen['fcemail']
	);
	
	$form['usuario']['usuario'] = array(
		'#type' => 'textfield',
		'#title' => t('Usuario'),
		'#description' => t('Nombre de usuario con el que se logueara en la App.<br/><em>Debe ser &uacute;nico.</em>'),
		'#required' => TRUE,
		'#size' => 50,
		'#maxlength' => 16,
		'#default_value' => $imagen['fcusuario']
	);
	
	$form['usuario']['mac'] = array(
		'#type' => 'textfield',
		'#title' => t('Identificador PC (CPU ID)'),
		'#size' => 50,
		'#maxlength' => 250,
		'#default_value' => $imagen['fcmac']
	);
	
	$form['usuario']['device'] = array(
		'#type' => 'textfield',
		'#title' => t('Identificador iPad (UUID)'),
		'#size' => 50,
		'#maxlength' => 250,
		'#default_value' => $imagen['fciddevice']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Guardar')
	);
	
	$form['botones']['limpiar'] = array(
		'#type' => 'button',
		'#value' => t('Limpiar')
	);
	
	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'proceso')
	);
	
	return $form;
}

function usuario_edita_form_validate ($form, &$form_state)
{
	$object = SQL::_get_when(array('fiidusersavi'), 'usersavi', 'fcusuario', $form_state['values']['usuario']);
	if(!empty($object) && $object['fiidusersavi'] != $form_state['values']['id'])
		form_set_error('usuario', t('Ya existe un usuario con ese Nombre de Usuario.'));
}

function usuario_edita_form_submit ($form, &$form_state)
{
	global $user;
	
	$id = SQL::_update('usersavi', array(
				'fcnombre' 		=> $form_state['values']['nombre'], 
				'fcemail' 		=> $form_state['values']['email'],
				'fcusuario' 	=> $form_state['values']['usuario'],
				'fcmac' 		=> $form_state['values']['mac'],
				'fciddevice' 	=> $form_state['values']['device'],
				'fiidusuario'	=> $user->uid),
				$form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se actualiz&oacute; el Usuario correctamente.'), 'status');
	}
}


function elimina_item ($item = '', $number = 0)
{
	Util::_clear_error();
	
	if($number <= 0)
		return drupal_not_found();
	
	switch($item)
	{
		case 'paso':
			$object = SQL::_get('paso',$number);
			variable_set('paso', $object);
			return drupal_get_form('paso_elimina_form');
		case 'actividad':
			$object = SQL::_get('actividad',$number);
			variable_set('actividad', $object);
			return drupal_get_form('actividad_elimina_form');
		case 'herramienta':
			$object = SQL::_get('herramienta',$number);
			variable_set('herramienta', $object);
			return drupal_get_form('herramienta_elimina_form');
		case 'contenido':
			$object = SQL::_get('contenido',$number);
			variable_set('contenido', $object);
			return drupal_get_form('contenido_elimina_form');
		case 'categoria':
			$object = SQL::_get('categoria',$number);
			variable_set('categoria', $object);
			return drupal_get_form('categoria_elimina_form');
		case 'entrada':
			$object = SQL::_get('mensaje',$number);
			variable_set('mensaje', $object);
			return drupal_get_form('entrada_elimina_form');
		case 'galeria':
			$object = SQL::_get('galeria',$number);
			variable_set('galeria', $object);
			return drupal_get_form('galeria_elimina_form');
		case 'imagen':
			$object = SQL::_get('imagen',$number);
			variable_set('imagen', $object);
			return drupal_get_form('imagen_elimina_form');
		default:
			return drupal_not_found();
	}

}

function elimina_usuario ($number = 0)
{
	Util::_clear_error();
	
	if($number <= 0)
		return drupal_not_found();
	
	$object = SQL::_get('usersavi',$number);
	variable_set('user', $object);
	
	return drupal_get_form('usuario_elimina_form');
}

function paso_elimina_form ($form, &$form_state)
{

	$paso = variable_get('paso');
	
	variable_set('paso', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidpaso']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'pc/consulta/paso')
	);
	
	return $form;
}

function paso_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('paso', $form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; el <em>Paso</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'pc/consulta/paso';
	
}

function actividad_elimina_form ($form, &$form_state)
{

	$paso = variable_get('actividad');
	
	variable_set('actividad', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidactividad']
	);
	
	$form['paso']['paso'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidpaso']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'pc/consulta/actividad')
	);
	
	return $form;
}

function actividad_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('actividad', $form_state['values']['id']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['paso']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; la <em>Actividad</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'pc/consulta/paso';
}

function herramienta_elimina_form ($form, &$form_state)
{

	$paso = variable_get('herramienta');
	
	variable_set('herramienta', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidherramienta']
	);
	
	$form['paso']['actividad'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidactividad']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'pc/consulta/herramienta')
	);
	
	return $form;
}

function herramienta_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('herramienta', $form_state['values']['id']);
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['actividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $form_state['values']['actividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; la <em>Herramienta</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'pc/consulta/paso';
}

function contenido_elimina_form ($form, &$form_state)
{

	$paso = variable_get('contenido');
	
	variable_set('contenido', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidcontenido']
	);
	
	$form['paso']['herramienta'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidherramienta']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'pc/consulta/contenido')
	);
	
	return $form;
}

function contenido_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('contenido', $form_state['values']['id']);
				
	$idr = SQL::_update('herramienta', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['herramienta']);
	$actividad = SQL::_get_when(array('fiidactividad'), 'herramienta', 'fiidherramienta', $form_state['values']['herramienta']);
	
	$idr = SQL::_update('actividad', array(
				'fdmodificacion' => getFecha()
				),
				$actividad['fiidactividad']);
	$paso = SQL::_get_when(array('fiidpaso'), 'actividad', 'fiidactividad', $actividad['fiidactividad']);
	
	$idr = SQL::_update('paso', array(
				'fdmodificacion' => getFecha()
				),
				$paso['fiidpaso']);	
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; el <em>Contenido</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'pc/consulta/paso';
}

function categoria_elimina_form ($form, &$form_state)
{

	$categoria = variable_get('categoria');
	
	variable_set('categoria', 0);

	$form['categoria'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['categoria']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $categoria['fiidcategoria']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'mensajes/consulta/categoria')
	);
	
	return $form;
}

function categoria_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('categoria', $form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; la <em>Categoria</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'mensajes/consulta/categoria';
}

function entrada_elimina_form ($form, &$form_state)
{

	$mensaje = variable_get('mensaje');
	
	variable_set('mensaje', 0);

	$form['mensaje'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['mensaje']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $mensaje['fiidmensaje']
	);
	
	$form['mensaje']['categoria'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $mensaje['fiidcategoria']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'mensajes/consulta/entrada')
	);
	
	return $form;
}

function entrada_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('mensaje', $form_state['values']['id']);
	
	$idr = SQL::_update('categoria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['categoria']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; el <em>Mensaje</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'mensajes/consulta/entrada';
	
}

function galeria_elimina_form ($form, &$form_state)
{

	$galeria = variable_get('galeria');
	
	variable_set('galeria', 0);

	$form['galeria'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['galeria']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $galeria['fiidgaleria']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'galeria/consulta/galeria')
	);
	
	return $form;
}

function galeria_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('galeria', $form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; la <em>Galeria</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'galeria/consulta/galeria';
}

function imagen_elimina_form ($form, &$form_state)
{

	$imagen = variable_get('imagen');
	
	variable_set('imagen', 0);

	$form['imagen'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['imagen']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $imagen['fiidimagen']
	);
	
	$form['imagen']['galeria'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $imagen['fiidgaleria']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'galeria/consulta/imagen')
	);
	
	return $form;
}

function imagen_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('imagen', $form_state['values']['id']);
	
	$idr = SQL::_update('galeria', array(
				'fdmodificacion' => getFecha()
				),
				$form_state['values']['galeria']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; la <em>Imagen</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'galeria/consulta/imagen';
	
}

function usuario_elimina_form ($form, &$form_state)
{

	$paso = variable_get('user');
	
	variable_set('user', 0);

	$form['paso'] = array(
		'#type' => 'fieldset',
		'#description' => t('Seguro?.')
	);
	
	$form['paso']['id'] = array(
		'#type' => 'hidden',
		'#title' => t('Id'),
		'#default_value' => $paso['fiidusersavi']
	);
	
	$form['botones'] = array(
		'#type' => 'actions'
	);
	
	$form['botones']['eliminar'] = array(
		'#type' => 'submit',
		'#value' => t('Eliminar todo')
	);

	$form['botones']['cancel'] = array(
		'#markup' => l(t('Cancelar'), 'usuarios/consulta')
	);
	
	return $form;
}

function usuario_elimina_form_submit ($form, &$form_state)
{

	$id = SQL::_delete('usersavi', $form_state['values']['id']);
				
	if(isset($id) && !empty($id)) {
		drupal_set_message(t('Se elimin&oacute; el <em>Usuario</em> correctamente.'), 'status');
	}
	
	$form_state['redirect'] = 'usuarios/consulta';
}


function usuario_consulta_form ($form, &$form_state)
{

	$busqueda = variable_get('busqueda');
	
	$form['usuario'] = array(
		'#type' => 'fieldset',
		'#title' => t('Busqueda avanzada'),
		'#description' => t('Llena los campos para filtrar los <em>Usuarios</em> mostrados en la tabla.'),
		'#collapsible' => TRUE,
		'#collapsed' => TRUE,
	);

	$form['usuario']['nombre'] = array(
		'#type' => 'textfield',
		'#title' => t('Nombre'),
		'#size' => 60,
		'#maxlength' => 150
	);
	
	$form['usuario']['email'] = array(
		'#type' => 'textfield',
		'#title' => t('Email'),
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['usuario']['usuario'] = array(
		'#type' => 'textfield',
		'#title' => t('Usuario'),
		'#size' => 50,
		'#maxlength' => 16
	);
	
	$form['usuario']['mac'] = array(
		'#type' => 'textfield',
		'#title' => t('Identificador PC (CPU ID)'),
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['usuario']['device'] = array(
		'#type' => 'textfield',
		'#title' => t('Identificador iPad (UUID)'),
		'#size' => 50,
		'#maxlength' => 250
	);
	
	$form['usuario']['guardar'] = array(
		'#type' => 'submit',
		'#value' => t('Buscar')
	);
	
	$form['datos']['tabla'] = array(
		'#type' => 'item',
		'#markup' => usuarios($busqueda)
	);
	
	variable_set('busqueda', null);
	
	return $form;
}

function usuario_consulta_form_submit ($form, &$form_state)
{
	$query = db_select(SQL::$bdd . '.usersavi', 'h');
	$query->join('users', 'u', 'h.fiidusuario = u.uid');
	$query->addField('u','name','usuario');
	
	if(!empty($form_state['values']['nombre'])) {
		$query->condition('fcnombre', db_like($form_state['values']['nombre']) . '%', 'LIKE');
	}
	
	if(!empty($form_state['values']['email'])) {
		$query->condition('fcemail', db_like($form_state['values']['email']) . '%', 'LIKE');
	}
	
	if(!empty($form_state['values']['usuario'])) {
		$query->condition('fcusuario', db_like($form_state['values']['usuario']) . '%', 'LIKE');
	}
	
	if(!empty($form_state['values']['mac'])) {
		$query->condition('fcmac', db_like($form_state['values']['mac']) . '%', 'LIKE');
	}
	
	if(!empty($form_state['values']['device'])) {
		$query->condition('fciddevice', db_like($form_state['values']['device']) . '%', 'LIKE');
	}
	
	$query->extend('PagerDefault')
				->limit(10)
			->fields('h');
			
	$results = $query->execute();
	
	$rows = array();
	foreach ($results as $node) {
		$rows[] = array(
			'data' => array(
				$node->fiidusersavi,
				l(t($node->fcnombre), 'usuarios/editar/' . $node->fiidusersavi),
				$node->fcemail,
				$node->fcusuario,
				$node->fcmac,
				$node->fciddevice,
				$node->fdmodificacion,
				$node->usuario,
				l(t('eliminar'), 'usuarios/eliminar/' . $node->fiidusersavi)
			)
		);
	}
	
	variable_set('busqueda', $rows);
}


function herramienta_actividades_callback ($form, $form_state)
{
	return $form['herramienta']['actividad'];
}

function contenido_actividades_callback ($form, $form_state)
{
	return $form['contenido']['actividad'];
}

function contenido_herramientas_callback ($form, $form_state)
{
	return $form['contenido']['herramienta'];
}


function getFecha()
{
	return date("Y-m-d H:i:s");
}

?>